package 多态.重写;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 姚东名
 * Date: 2024-06-16
 * Time: 20:29
 */
public class Test {
}
/*
重写(override)：也被称为覆盖。重写是子类对父类非静态、非private修饰、非final修饰，非构造方法等实现过程进行重新编写，返回和形参都不能改变。即外壳不变，核心重写！重写的好处在于子类可以根据需求，定义特定于自己的行为。也就是说子类能够根据需要实现父类的方法。

【方法重写的规则】
    - 子类再重写父类的方法时，一般必须与父类方法原型一致：返回值类型 方法名(参数列表)要完全一致
    - 被重写的方法返回值类型可以不同，但是必须是具有父类关系的
    - 访问权限不能比父类中被重写的方法的访问权限更低。例如：如果父类方法被public修饰，则子类重写该方法就不能声明protected
    - 父类被static、private修饰的方法、构造方法都不能被重写
    - 重写的方法，可以使用@override注释来显示指定。有了这个注释能够帮助我们进行一些合法性校验。例如不小心
    将方法名字拼写错了 (比如写成 aet), 那么此时编译器就会发现父类中没有 aet 方法, 就会编译报错, 提示无法
    构成重写。


即：方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现


静态绑定：也被称为前期绑定(早绑定)，即在编译的时候，根据用户所传递实参就确定了具体调用哪个方法。典型代表 函数重载。
动态绑定：也被称为后期绑定(晚绑定)，即在编译的时候，不能确定方法的行为，需要等到程序运行时，才能够确定具体调用了哪个方法。
 */
